The concept of referencing external components is used in programming languages such as C++ to re-use code included in header files. There is no built in support for overrides and circular inclusion avoidance in such programming languages.
Until now, referencing portions of saved reports in a new report was performed by copying the referenced report into the new report. For groups of reports where certain portions are mandatory, it may become very time consuming to replicate the same report objects in a new report layout specification. Moreover, reports could not be processed with references to components which contained references as well.